[TOC]一、简介1.1 基本概念张量索引是根据张量的位置或值选择特定元素或子集的过程。PyTorch 张量索引提供了一组丰富的索引操作,可以使用不同的索引方案选择和修改张量元素。在 PyTorch 中,张量是一个多维数组,可以存储不同类型和大小的数值数据。可以使用一个或多个索引对张量进行索引,这些索引指定元素沿张量每个维度的位置。索引张量将返回一个包含所选元素的新张量或具有修改元素的原始张量的视图。1.2 索引类型张量索引主要有以下几种类型:整型索引(Integer Indexing):使用一个或多个整型值来访问张量中的特定元素或子张量。例如,对于一个形状为(3, 4)的二维张量A,A...
[TOC]前言在本文中,将介绍在Pytorch中如何进行张量的维度变换。张量是Pytorch中的核心数据结构,类似于多维数组,并且可以在GPU上进行加速运算。通过改变张量的维度,可以更灵活地处理数据,在机器学习和深度学习任务中具有重要意义。一、张量的维度与形状张量为一组数的结构化表示。简单理解,向量就是一维数组,矩阵为二维数组,此外还可以定义更高维度的数组。张量创建示例如下:# 一维向量 t1 = torch.tensor((1, 2)) # 二维向量 t2 = torch.tensor([[1, 2, 3], [4, 5, 6]]) # 三维向量 t3 = torch.tensor([...
[TOC]一、张量转换为 numpy 数组使用Tensor.numpy函数可以将张量转换为ndarray数组,但是共享内存,可以使用copy函数避免共享。代码示例import torch # 1. 张量转换为numpy数组 def test01(): data_tensor = torch.tensor([2,3,4]) # 将张量转换为numpy数组 data_numpy = data_tensor.numpy() print(type(data_tensor)) #<class 'torch.Tensor'> print...
[TOC]一、张量基本运算基本运算中,包括 add、sub、mul、div、neg 等函数, 以及这些函数的带下划线的版本 add_、sub_、mul_、div_、neg_,其中带下划线的版本为修改原数据。操作类型函数示例代码代码解释加法(不修改原数据)addnew_data = data.add(10)将每个元素加上10,生成一个新张量。加法(修改原数据)add_data.add_(10)将每个元素加上10,直接修改原数据。减法subdata.sub(100)将每个元素减去100,生成一个新张量。乘法muldata.mul(100)将每个元素乘以100,生成一个新张量。除法divdat...
[TOC]前言PyTorch 是一个 Python 深度学习框架,它将数据封装成张量(Tensor)来进行运算。PyTorch 中的张量就是元素为同一种数据类型的多维矩阵。在 PyTorch 中,张量以 "类" 的形式封装起来,对张量的一些运算、处理的方法被封装在类中。一、理解 TensorTensor 可以简单理解为是标量、向量、矩阵的高维扩展。你可以把张量看作多维数组,但相较于ndarray,Tensor 包含了grad、requires_grad、grad_fn、device 等属性,是为服务于神经网络而设计的类型。标量可以看作是零维张量、向量可以看作是一维张量、矩阵可以看作是二维...
[TOC]前言需要安装的程序:Python3.6 + Anaconda 5.3.1CUDAPycharm一、Anaconda安装教程1.1 介绍Anaconda是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows, 包含conda、Python等190多个科学包及其依赖项。它便于获取和管理包,包括python和许多常用软件库(如numpy、pandas等)以及包管理器conda。它使安装比常规python安装容易,并对环境进行统一管理。conda是一个开源的包和环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能在不同环境之间切换。1....
[TOC]前言本篇是基于《代码随想录》加上自己做题时的一些思考整理出来的。希望对大家理解0-1背包问题有所帮助。一、0-1背包问题引入问题描述: 给定一组物品,每个物品都有自己的重量和价值,以及一个固定的容量的背包。目标是找到一个最佳的组合,使得放入背包的物品的总重量不超过背包容量,且总价值最大。基本思想: 将问题划分为若干个子问题,通过解决子问题得到原问题的最优解。对于每个物品,可以选择放入背包或不放入背包,从而形成递归结构。有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价...
[TOC]一、题目描述LeetCode 28. 找出字符串中第一个匹配项的下标给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1 。示例 1:输入:haystack = "sadbutsad", needle = "sad" 输出:0 解释:"sad" 在下标 0 和 6 处匹配。 第一个匹配项的下标是 0 ,所以返回 0 。示例 2:输入:haystack ...
[TOC]前言关于gorm的概念和安装本篇将不做过多赘述,本篇只针对Gorm的简单使用进行讲述。同时本篇使用的是beego框架,兼容MySQL和达梦数据库。达梦数据库gorm驱动可以使用:https://github.com/Leefs/gorm-driver-dm在该驱动中小编解决了达梦双单引号转义问题同时在编码过程中会存在以下三个问题:添加语句中无法返回自增ID驱动中dmSchema.Clob类型兼容性问题查询语句时间格式兼容性问题一、连接配置1.1 app.conf写入mysql连接信息# 连接数据库类型 mysql/dm db_type = mysql # 连接数据库账号 db_...